Imports System.Data
Imports CrystalDecisions.CrystalReports.Engine

Partial Class Migracion_SolicitudMultipleReporte
  Inherits System.Web.UI.Page

  Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

    Try
      Dim reporte As New ReportDocument()
      ' Detalle del documento
      reporte.Load(Server.MapPath("~\Documentos\Migracion_SolicitudMultiple\Reporte\rptMigracion_SolicitudMultiple.rpt"))

      'Datos encabezado
      Dim docMigracion_SolicitudMultiple As New DataAccesMigracion_SolicitudMultiple()
      Dim Migracion_SolicitudMultipleDetalle As New DataSet("DetalleDocumento")
      Migracion_SolicitudMultipleDetalle = docMigracion_SolicitudMultiple.Migracion_SolicitudMultiple_DetalleXML(CInt(Request.QueryString("nidDocumento")))
	  Migracion_SolicitudMultipleDetalle.Tables(0).TableName = "Encabezado"
	  Migracion_SolicitudMultipleDetalle.Tables(1).TableName = "DetalleDocumento"
	  Migracion_SolicitudMultipleDetalle.Tables(2).TableName = "Anexos"
	  Migracion_SolicitudMultipleDetalle.Tables(3).TableName = "Incidencias"
	  
	  Dim tEncabezado As DataTable=Migracion_SolicitudMultipleDetalle.Tables(0)
	  Dim tDetalle As DataTable=Migracion_SolicitudMultipleDetalle.Tables(1)
	  Dim tAnexos As DataTable=Migracion_SolicitudMultipleDetalle.Tables(2)
	  Dim tIncidencias As DataTable=Migracion_SolicitudMultipleDetalle.Tables(3)
	  
      reporte.SetParameterValue("pCodigo", tEncabezado.Rows(0)("CODIGO"))
      reporte.SetParameterValue("pFechaSolicitud", CDate(tEncabezado.Rows(0)("FECHACREACION")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pEmisor", tEncabezado.Rows(0)("NOMBRE"))

      'Detalle del documento
	  reporte.SetParameterValue("pnid", tDetalle.Rows(0)("nid").ToString)
      reporte.SetParameterValue("pniddocumento", tDetalle.Rows(0)("niddocumento").ToString)
      reporte.SetParameterValue("pnidtipodocmigracion", tDetalle.Rows(0)("nidtipodocmigracion").ToString)
      reporte.SetParameterValue("pidbuque", tDetalle.Rows(0)("idbuque").ToString)
      reporte.SetParameterValue("pbandera", tDetalle.Rows(0)("bandera").ToString)
      reporte.SetParameterValue("pfechaatraque", CDate(tDetalle.Rows(0)("fechaatraque")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pmuelleatraque", tDetalle.Rows(0)("muelleatraque").ToString)
      reporte.SetParameterValue("pnidpuertoprocedencia", tDetalle.Rows(0)("nidpuertoprocedencia").ToString)
      reporte.SetParameterValue("pfechahoracita", CDate(tDetalle.Rows(0)("fechahoracita")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("plugarcita", tDetalle.Rows(0)("lugarcita").ToString)
      reporte.SetParameterValue("pdiaspermanenciabuque", tDetalle.Rows(0)("diaspermanenciabuque").ToString)
      reporte.SetParameterValue("pposicionbuque", tDetalle.Rows(0)("posicionbuque").ToString)
      reporte.SetParameterValue("ptiposervicio", tDetalle.Rows(0)("tiposervicio").ToString)
      reporte.SetParameterValue("pfecha_iniciaperiodo", CDate(tDetalle.Rows(0)("fecha_iniciaperiodo")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pfecha_finperiodo", CDate(tDetalle.Rows(0)("fecha_finperiodo")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pobservaciones", tDetalle.Rows(0)("observaciones").ToString)
      reporte.SetParameterValue("pnidviaje", tDetalle.Rows(0)("nidviaje").ToString)
      reporte.SetParameterValue("pfoliomigracion", tDetalle.Rows(0)("foliomigracion").ToString)
      reporte.SetParameterValue("pvuelo", tDetalle.Rows(0)("vuelo").ToString)
      reporte.SetParameterValue("pfecha_vuelo", CDate(tDetalle.Rows(0)("fecha_vuelo")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pnidpais_destino", tDetalle.Rows(0)("nidpais_destino").ToString)
      reporte.SetParameterValue("pnidpais_origen", tDetalle.Rows(0)("nidpais_origen").ToString)
      reporte.SetParameterValue("pexpediente", tDetalle.Rows(0)("expediente").ToString)
      reporte.SetParameterValue("ptipobuque", tDetalle.Rows(0)("tipobuque").ToString)
      reporte.SetParameterValue("pcompania", tDetalle.Rows(0)("compania").ToString)
      reporte.SetParameterValue("pclavepais", tDetalle.Rows(0)("clavepais").ToString)
      reporte.SetParameterValue("ppuertopartida", tDetalle.Rows(0)("puertopartida").ToString)
      reporte.SetParameterValue("pfechapartida", CDate(tDetalle.Rows(0)("fechapartida")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("ppuertoarribo", tDetalle.Rows(0)("puertoarribo").ToString)
      reporte.SetParameterValue("pfechaarribo", CDate(tDetalle.Rows(0)("fechaarribo")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pitinerario", tDetalle.Rows(0)("itinerario").ToString)
      
      

      'Datos Anexos
      Dim anexos As String = ""
      Dim tipos As String = ""
      For i As Integer = 0 To tAnexos.Rows.Count - 1
        anexos += tAnexos.Rows(i)("NOMBRE") + Chr(13)
        tipos += tAnexos.Rows(i)("TIPO") + Chr(13)
      Next
      reporte.SetParameterValue("pAnexos", anexos)
      reporte.SetParameterValue("pAnexoTipo", tipos)

      'Datos Incidencias
      Dim fecha As String = ""
      Dim descripcion As String = ""
      Dim emisor As String = ""
      For i As Integer = 0 To tIncidencias.Rows.Count - 1
        fecha += CDate(tIncidencias.Rows(i)("FECHAEMISION")).ToString("dd/MM/yyyy hh:mm:ss") + Chr(13)
        descripcion += tIncidencias.Rows(i)("DESCRIPCION") + Chr(13)
        emisor += tIncidencias.Rows(i)("NOMBRE") + Chr(13)
      Next
      reporte.SetParameterValue("pFechaIncidencia", fecha)
      reporte.SetParameterValue("pDescripcionIncidencia", descripcion)
      reporte.SetParameterValue("pEmisorIncidencia", emisor)


      'Cargar informacion de firma electronica
      Dim consultaFirmas As New DataAccesGenerales()
      Dim firmas As New DataTable("CasetaFirmas")
      firmas = consultaFirmas.consultarFirmas(CInt(Request.QueryString("nidDocumento")))
      Dim cadenaFirmas As String = String.Empty
      For Each datoFirma In firmas.Rows
        cadenaFirmas = cadenaFirmas & datoFirma("Firma").ToString() & " "+ Chr(13)
      Next
      reporte.SetParameterValue("pFirma", cadenaFirmas)

      'crvMigracion_SolicitudMultiple.ParameterFieldInfo.Clear()
      Me.crvMigracion_SolicitudMultiple.HasExportButton = False
      Me.crvMigracion_SolicitudMultiple.HasToggleGroupTreeButton = False
      Me.crvMigracion_SolicitudMultiple.EnableParameterPrompt = False
      'Me.crvMigracion_SolicitudMultiple.ParameterFieldInfo = False
      Me.crvMigracion_SolicitudMultiple.ReportSource = reporte

    Catch ex As Exception
      lblMensaje.Text = "Error al Cargar reporte: " + ex.Message
    End Try
  End Sub

End Class
